package com.hlf.modules.merchant.store.service;


import com.hlf.common.utils.PageUtils;
import com.hlf.common.utils.ReturnResult;
import com.hlf.modules.merchant.bank.entity.BankCard;
import com.hlf.modules.merchant.store.entity.Store;
import com.hlf.modules.sys.entity.File;
import com.hlf.modules.sys.entity.SysUserEntity;

import java.util.List;
import java.util.Map;

/***
 * 门店管理
 * @author Administrator
 *
 */
public interface StoreService {

	/**
	 * 查询单个店铺
	 * @param id
	 * @return
	 */
	Store queryObject(Long id);
	
	List<Store> queryList(Map<String, Object> map);
	
	int queryTotal(Map<String, Object> map);

	void update(Store store);

	void save(Store store);
	
	void delete(Long id);
	
	void deleteBatch(Long[] ids);
	
	PageUtils queryListForPage(Map<String, Object> map);

    Store queryObjectForUserId(Long userId);

    String saveStore(Store store);


	/**
	 * 门店列表
	 * @param
	 * @return
	 */
    List<Store> queryListForMerchantId(Long merchantId);

	/**
	 * 修改门店信息
	 * @param user
	 */
    void updateInfo(SysUserEntity user, Store store);

	/**
	 * 上传门店形象照片
	 * @param user
	 * @param storeImgFilesJson
	 */
	void uploadStore(SysUserEntity user, String storeImgFilesJson);


	/**
	 * 门店形象
	 * @param user
	 * @return
	 */
	ReturnResult storeImg(SysUserEntity user);

	/**
	 * 新增门店
	 * @param store
	 * @param logoImg
	 * @param user
	 * @return
	 */
	ReturnResult createStore(Store store, List<File> logoImg, SysUserEntity user);

	void updateAuthStore(SysUserEntity user, Store store);

    List<Store> queryListByReview(Byte auditStatusReview);

	BankCard getBankCard(Long userId);
}
